{\rtf1\adeflang1025\ansi\ansicpg1252\uc1\adeff31507\deff0\stshfdbch31505\stshfloch31506\stshfhich31506\stshfbi31507\deflang1033\deflangfe1033\themelang1033\themelangfe0\themelangcs0{\fonttbl{\f0\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f4\fbidi \fswiss\fcharset0\fprq2{\*\panose 020b0604020202020204}Helvetica;} {\f5\fbidi \fnil\fcharset0\fprq2{\*\panose 02070409020205020404}Courier;}{\f5\fbidi \fnil\fcharset0\fprq2{\*\panose 02070409020205020404}Courier;}{\f366\fbidi \froman\fcharset0\fprq0{\*\panose 00000000000000000000}Times-Roman;} {\flomajor\f31500\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\fdbmajor\f31501\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;} {\fhimajor\f31502\fbidi \fswiss\fcharset0\fprq2{\*\panose 020f0302020204030204}Calibri Light;}{\fbimajor\f31503\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;} {\flominor\f31504\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\fdbminor\f31505\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;} {\fhiminor\f31506\fbidi \fswiss\fcharset0\fprq2{\*\panose 020f0502020204030204}Calibri;}{\fbiminor\f31507\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f367\fbidi \froman\fcharset238\fprq2 Times New Roman CE;} {\f368\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\f370\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\f371\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\f372\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);} {\f373\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\f374\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\f375\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);} {\flomajor\f31508\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\flomajor\f31509\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\flomajor\f31511\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;} {\flomajor\f31512\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\flomajor\f31513\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\flomajor\f31514\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);} {\flomajor\f31515\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\flomajor\f31516\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\fdbmajor\f31518\fbidi \froman\fcharset238\fprq2 Times New Roman CE;} {\fdbmajor\f31519\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\fdbmajor\f31521\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\fdbmajor\f31522\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;} {\fdbmajor\f31523\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\fdbmajor\f31524\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\fdbmajor\f31525\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;} {\fdbmajor\f31526\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\fhimajor\f31528\fbidi \fswiss\fcharset238\fprq2 Calibri Light CE;}{\fhimajor\f31529\fbidi \fswiss\fcharset204\fprq2 Calibri Light Cyr;} {\fhimajor\f31531\fbidi \fswiss\fcharset161\fprq2 Calibri Light Greek;}{\fhimajor\f31532\fbidi \fswiss\fcharset162\fprq2 Calibri Light Tur;}{\fhimajor\f31535\fbidi \fswiss\fcharset186\fprq2 Calibri Light Baltic;} {\fhimajor\f31536\fbidi \fswiss\fcharset163\fprq2 Calibri Light (Vietnamese);}{\fbimajor\f31538\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\fbimajor\f31539\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;} {\fbimajor\f31541\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\fbimajor\f31542\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\fbimajor\f31543\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);} {\fbimajor\f31544\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\fbimajor\f31545\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\fbimajor\f31546\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);} {\flominor\f31548\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\flominor\f31549\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\flominor\f31551\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;} {\flominor\f31552\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\flominor\f31553\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\flominor\f31554\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);} {\flominor\f31555\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\flominor\f31556\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\fdbminor\f31558\fbidi \froman\fcharset238\fprq2 Times New Roman CE;} {\fdbminor\f31559\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\fdbminor\f31561\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\fdbminor\f31562\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;} {\fdbminor\f31563\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\fdbminor\f31564\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\fdbminor\f31565\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;} {\fdbminor\f31566\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\fhiminor\f31568\fbidi \fswiss\fcharset238\fprq2 Calibri CE;}{\fhiminor\f31569\fbidi \fswiss\fcharset204\fprq2 Calibri Cyr;} {\fhiminor\f31571\fbidi \fswiss\fcharset161\fprq2 Calibri Greek;}{\fhiminor\f31572\fbidi \fswiss\fcharset162\fprq2 Calibri Tur;}{\fhiminor\f31575\fbidi \fswiss\fcharset186\fprq2 Calibri Baltic;} {\fhiminor\f31576\fbidi \fswiss\fcharset163\fprq2 Calibri (Vietnamese);}{\fbiminor\f31578\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\fbiminor\f31579\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;} {\fbiminor\f31581\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\fbiminor\f31582\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\fbiminor\f31583\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);} {\fbiminor\f31584\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\fbiminor\f31585\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\fbiminor\f31586\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}} {\colortbl;\red0\green0\blue0;\red0\green0\blue255;\red0\green255\blue255;\red0\green255\blue0;\red255\green0\blue255;\red255\green0\blue0;\red255\green255\blue0;\red255\green255\blue255;\red0\green0\blue128;\red0\green128\blue128;\red0\green128\blue0; \red128\green0\blue128;\red128\green0\blue0;\red128\green128\blue0;\red128\green128\blue128;\red192\green192\blue192;}{\*\defchp \fs22\loch\af31506\hich\af31506\dbch\af31505 }{\*\defpap \ql \li0\ri0\sa160\sl259\slmult1 \widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 }\noqfpromote {\stylesheet{\ql \li0\ri0\sa160\sl259\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af31507\afs22\alang1025 \ltrch\fcs0 \fs22\lang1033\langfe1033\loch\f31506\hich\af31506\dbch\af31505\cgrid\langnp1033\langfenp1033 \snext0 \sqformat \spriority0 Normal;}{\*\cs10 \additive \ssemihidden \sunhideused \spriority1 Default Paragraph Font;}{\* \ts11\tsrowd\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tblind0\tblindtype3\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv \ql \li0\ri0\sa160\sl259\slmult1 \widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af31507\afs22\alang1025 \ltrch\fcs0 \fs22\lang1033\langfe1033\loch\f31506\hich\af31506\dbch\af31505\cgrid\langnp1033\langfenp1033 \snext11 \ssemihidden \sunhideused Normal Table;}}{\*\rsidtbl \rsid2233382\rsid6958183}{\mmathPr\mmathFont34\mbrkBin0\mbrkBinSub0\msmallFrac0\mdispDef1\mlMargin0\mrMargin0\mdefJc1\mwrapIndent1440\mintLim0\mnaryLim1}{\info{\author Moody, Dustin (Fed)}{\operator Moody, Dustin (Fed)} {\creatim\yr2016\mo10\dy18\hr13\min27}{\revtim\yr2016\mo10\dy18\hr13\min27}{\version2}{\edmins0}{\nofpages5}{\nofwords881}{\nofchars5027}{\nofcharsws5897}{\vern7}}{\*\xmlnstbl {\xmlns1 http://schemas.microsoft.com/office/word/2003/wordml}} \paperw12240\paperh15840\margl1440\margr1440\margt1440\margb1440\gutter0\ltrsect \widowctrl\ftnbj\aenddoc\trackmoves0\trackformatting1\donotembedsysfont0\relyonvml0\donotembedlingdata1\grfdocevents0\validatexml0\showplaceholdtext0\ignoremixedcontent0\saveinvalidxml0\showxmlerrors0\horzdoc\dghspace120\dgvspace120\dghorigin1701 \dgvorigin1984\dghshow0\dgvshow3\jcompress\viewkind1\viewscale100\rsidroot2233382 \fet0{\*\wgrffmtfilter 2450}\ilfomacatclnup0\ltrpar \sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\*\pnseclvl1\pnucrm\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl2 \pnucltr\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl3\pndec\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl4\pnlcltr\pnstart1\pnindent720\pnhang {\pntxta )}}{\*\pnseclvl5\pndec\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl6 \pnlcltr\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl7\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl8\pnlcltr\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl9\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}\pard\plain \ltrpar\ql \li0\ri0\nowidctlpar\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\wrapdefault\faauto\rin0\lin0\itap0 \rtlch\fcs1 \af31507\afs22\alang1025 \ltrch\fcs0 \fs22\lang1033\langfe1033\loch\af31506\hich\af31506\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af4\afs24 \ltrch\fcs0 \f4\fs24\insrsid6958183 \hich\af4\dbch\af31505\loch\f4 PQC - API notes \par \par \hich\af4\dbch\af31505\loch\f4 Most of the API information is derived from the }{\rtlch\fcs1 \ab\af366\afs24 \ltrch\fcs0 \b\f366\fs24\insrsid6958183 \hich\af366\dbch\af31505\loch\f366 eBATS: ECRYPT Benchmarking of Asymmetric Systems }{\rtlch\fcs1 \af4\afs24 \ltrch\fcs0 \f4\fs24\insrsid6958183 \hich\af4\dbch\af31505\loch\f4 (https://bench.cr.yp.to/ebats.html). This has been done to facilitate benchmarking algorithm performance. Please look at the eBATS page for more information on how to submit an algorithm for performance benchmarking. There are two sets of API calls liste \hich\af4\dbch\af31505\loch\f4 d\hich\af4\dbch\af31505\loch\f4 for each primitive. The first set is the API call directly from the eBATS page, or something very similar for the Key Encapsulation Mechanism section. The second set of calls is for testing purposes. The calls extend the eBATS calls for functions that ut \hich\af4\dbch\af31505\loch\f4 i\hich\af4\dbch\af31505\loch\f4 lize randomness by providing a pointer to specify a randomness string. This will allow algorithms that utilize randomness to be able to provide reproducible results. For example, this will allow testing of KAT files and other sample values.}{\rtlch\fcs1 \af4\afs24 \ltrch\fcs0 \f4\fs24\kerning1\insrsid6958183 \par \par \hich\af4\dbch\af31505\loch\f4 Public-key Si\hich\af4\dbch\af31505\loch\f4 gnatures \par \hich\af4\dbch\af31505\loch\f4 See }{\rtlch\fcs1 \af366\afs32 \ltrch\fcs0 \f366\fs32\insrsid6958183 \hich\af366\dbch\af31505\loch\f366 https://bench.cr.yp.to/call-sign.html}{\rtlch\fcs1 \af4\afs32 \ltrch\fcs0 \f4\fs32\insrsid6958183 \hich\af4\dbch\af31505\loch\f4 }{\rtlch\fcs1 \af4\afs24 \ltrch\fcs0 \f4\fs24\insrsid6958183 \hich\af4\dbch\af31505\loch\f4 for more information on Public-key Signature API and performance testing. \par \par \hich\af4\dbch\af31505\loch\f4 The first thing to do is to create a file called }{\rtlch\fcs1 \ai\af4\afs24 \ltrch\fcs0 \i\f4\fs24\insrsid6958183 \hich\af4\dbch\af31505\loch\f4 api.h}{\rtlch\fcs1 \af4\afs24 \ltrch\fcs0 \f4\fs24\insrsid6958183 \hich\af4\dbch\af31505\loch\f4 . This file contains the following four lines (with the sizes set to the app\hich\af4\dbch\af31505\loch\f4 ropriate values): \par }\pard \ltrpar\ql \li0\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af5\afs26 \ltrch\fcs0 \f5\fs26\insrsid6958183 \hich\af5\dbch\af31505\loch\f5 #define CRYPTO_SECRETKEYBYTES 256 \par \hich\af5\dbch\af31505\loch\f5 #define CRYPTO_PUBLICKEYBYTES 85 \par \hich\af5\dbch\af31505\loch\f5 #define CRYPTO_BYTES 128 \par \hich\af5\dbch\af31505\loch\f5 #define CRYPTO_RANDOMBYTES 64 \par \par }{\rtlch\fcs1 \af4\afs24 \ltrch\fcs0 \f4\fs24\insrsid6958183 \hich\af4\dbch\af31505\loch\f4 indicating that your software uses a 256-byte (2048-bit) secret key, an 85-byte (680-bit) publi\hich\af4\dbch\af31505\loch\f4 c key, }{\rtlch\fcs1 \ai\af4\afs24 \ltrch\fcs0 \i\f4\fs24\insrsid6958183 \hich\af4\dbch\af31505\loch\f4 at most}{\rtlch\fcs1 \af4\afs24 \ltrch\fcs0 \f4\fs24\insrsid6958183 \hich\af4\dbch\af31505\loch\f4 128 bytes of overhead in a signed message compared to the original message, and 64 bytes of random input.}{\rtlch\fcs1 \af5\afs26 \ltrch\fcs0 \f5\fs26\insrsid6958183 \par }{\rtlch\fcs1 \af4\afs24 \ltrch\fcs0 \f4\fs24\kerning1\insrsid6958183 \par \hich\af4\dbch\af31505\loch\f4 Then create a file called }{\rtlch\fcs1 \ai\af4\afs24 \ltrch\fcs0 \i\f4\fs24\kerning1\insrsid6958183 \hich\af4\dbch\af31505\loch\f4 sign.c}{\rtlch\fcs1 \af4\afs24 \ltrch\fcs0 \f4\fs24\kerning1\insrsid6958183 \hich\af4\dbch\af31505\loch\f4 with the following function calls: \par \par }\pard \ltrpar\ql \li0\ri0\nowidctlpar\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af4\afs24 \ltrch\fcs0 \f4\fs24\kerning1\insrsid6958183 \tab \hich\af4\dbch\af31505\loch\f4 eBATS calls \par \tab \tab \hich\af4\dbch\af31505\loch\f4 Generates a keypair - }{\rtlch\fcs1 \ai\af4\afs24 \ltrch\fcs0 \i\f4\fs24\kerning1\insrsid6958183 \hich\af4\dbch\af31505\loch\f4 pk}{\rtlch\fcs1 \af4\afs24 \ltrch\fcs0 \f4\fs24\kerning1\insrsid6958183 \hich\af4\dbch\af31505\loch\f4 is the public key and }{\rtlch\fcs1 \ai\af4\afs24 \ltrch\fcs0 \i\f4\fs24\kerning1\insrsid6958183 \hich\af4\dbch\af31505\loch\f4 sk}{\rtlch\fcs1 \af4\afs24 \ltrch\fcs0 \f4\fs24\kerning1\insrsid6958183 \hich\af4\dbch\af31505\loch\f4 \hich\af4\dbch\af31505\loch\f4 is the secret key. \par \par }\pard \ltrpar\ql \li0\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af5\afs26 \ltrch\fcs0 \f5\fs26\insrsid6958183 \tab \tab \hich\af5\dbch\af31505\loch\f5 int crypto_sign_keypair( \par \tab \tab \tab \hich\af5\dbch\af31505\loch\f5 unsigned char *pk, \par \tab \tab \tab \hich\af5\dbch\af31505\loch\f5 unsigned char *sk \par \tab \tab \hich\af5\dbch\af31505\loch\f5 ) \par \par }{\rtlch\fcs1 \af4\afs24 \ltrch\fcs0 \f4\fs24\insrsid6958183 \tab \tab \hich\af4\dbch\af31505\loch\f4 Sign a message: }{\rtlch\fcs1 \ai\af4\afs24 \ltrch\fcs0 \i\f4\fs24\insrsid6958183 \hich\af4\dbch\af31505\loch\f4 sm}{\rtlch\fcs1 \af4\afs24 \ltrch\fcs0 \f4\fs24\insrsid6958183 \hich\af4\dbch\af31505\loch\f4 is the signed message, }{\rtlch\fcs1 \ai\af4\afs24 \ltrch\fcs0 \i\f4\fs24\insrsid6958183 \hich\af4\dbch\af31505\loch\f4 m}{\rtlch\fcs1 \af4\afs24 \ltrch\fcs0 \f4\fs24\insrsid6958183 \hich\af4\dbch\af31505\loch\f4 is the original message, and }{\rtlch\fcs1 \ai\af4\afs24 \ltrch\fcs0 \i\f4\fs24\insrsid6958183 \hich\af4\dbch\af31505\loch\f4 sk}{\rtlch\fcs1 \af4\afs24 \ltrch\fcs0 \f4\fs24\insrsid6958183 \hich\af4\dbch\af31505\loch\f4 is the secret key. \par \par }{\rtlch\fcs1 \af5\afs26 \ltrch\fcs0 \f5\fs26\insrsid6958183 \tab \tab \hich\af5\dbch\af31505\loch\f5 int crypto_sign( \par \tab \tab \tab \hich\af5\dbch\af31505\loch\f5 unsigned char *sm, unsigned long long *smlen, \par \tab \tab \tab \hich\af5\dbch\af31505\loch\f5 const unsigned char *m, unsigned long long mlen, \par \tab \tab \tab \hich\af5\dbch\af31505\loch\f5 const unsigned char *sk \par \tab \tab \hich\af5\dbch\af31505\loch\f5 ) \par \par \tab \tab }{\rtlch\fcs1 \af4\afs24 \ltrch\fcs0 \f4\fs24\insrsid6958183 \hich\af4\dbch\af31505\loch\f4 Verify a message signature: }{\rtlch\fcs1 \ai\af4\afs24 \ltrch\fcs0 \i\f4\fs24\insrsid6958183 \hich\af4\dbch\af31505\loch\f4 m}{\rtlch\fcs1 \af4\afs24 \ltrch\fcs0 \f4\fs24\insrsid6958183 \hich\af4\dbch\af31505\loch\f4 is the original message, }{\rtlch\fcs1 \ai\af4\afs24 \ltrch\fcs0 \i\f4\fs24\insrsid6958183 \hich\af4\dbch\af31505\loch\f4 sm}{\rtlch\fcs1 \af4\afs24 \ltrch\fcs0 \f4\fs24\insrsid6958183 \hich\af4\dbch\af31505\loch\f4 is the signed message, }{\rtlch\fcs1 \ai\af4\afs24 \ltrch\fcs0 \i\f4\fs24\insrsid6958183 \hich\af4\dbch\af31505\loch\f4 pk}{\rtlch\fcs1 \af4\afs24 \ltrch\fcs0 \f4\fs24\insrsid6958183 \hich\af4\dbch\af31505\loch\f4 is the public key.}{\rtlch\fcs1 \af5\afs26 \ltrch\fcs0 \f5\fs26\insrsid6958183 \par \par \tab \tab \hich\af5\dbch\af31505\loch\f5 int crypto_sign\hich\af5\dbch\af31505\loch\f5 _open( \par \tab \tab \tab \hich\af5\dbch\af31505\loch\f5 const unsigned char *m, unsigned long long *mlen, \par \tab \tab \tab \hich\af5\dbch\af31505\loch\f5 const unsigned char *sm, unsigned long long smlen, \par \tab \tab \tab \hich\af5\dbch\af31505\loch\f5 const unsigned char *pk \par \tab \tab \hich\af5\dbch\af31505\loch\f5 ) \par }{\rtlch\fcs1 \af4\afs24 \ltrch\fcs0 \f4\fs24\kerning1\insrsid6958183 \par }\pard \ltrpar\ql \li0\ri0\nowidctlpar\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af4\afs24 \ltrch\fcs0 \f4\fs24\kerning1\insrsid6958183 \tab \hich\af4\dbch\af31505\loch\f4 KAT calls \par }\pard \ltrpar\ql \li0\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af5\afs26 \ltrch\fcs0 \f5\fs26\insrsid6958183 \tab \tab \hich\af5\dbch\af31505\loch\f5 int crypto_sign_keypair_KAT( \par \tab \tab \tab \hich\af5\dbch\af31505\loch\f5 unsigned char *pk, \par \tab \tab \tab \hich\af5\dbch\af31505\loch\f5 unsigned char *sk, \par \tab \tab \tab \hich\af5\dbch\af31505\loch\f5 const unsigned char *\hich\af5\dbch\af31505\loch\f5 randomness \par \tab \tab \hich\af5\dbch\af31505\loch\f5 ) \par \par \tab \tab \hich\af5\dbch\af31505\loch\f5 int crypto_sign_KAT( \par \tab \tab \tab \hich\af5\dbch\af31505\loch\f5 unsigned char *sm, unsigned long long *smlen, \par \tab \tab \tab \hich\af5\dbch\af31505\loch\f5 const unsigned char *m, unsigned long long mlen, \par \tab \tab \tab \hich\af5\dbch\af31505\loch\f5 const unsigned char *sk, \par \tab \tab \tab \hich\af5\dbch\af31505\loch\f5 const unsigned char *randomness \par \tab \tab \hich\af5\dbch\af31505\loch\f5 ) \par }{\rtlch\fcs1 \af4\afs24 \ltrch\fcs0 \f4\fs24\kerning1\insrsid6958183 \par }\pard \ltrpar\ql \li0\ri0\nowidctlpar\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af4\afs24 \ltrch\fcs0 \f4\fs24\kerning1\insrsid6958183 \par \hich\af4\dbch\af31505\loch\f4 Public-key Encryption \par \hich\af4\dbch\af31505\loch\f4 See }{\rtlch\fcs1 \af366\afs32 \ltrch\fcs0 \f366\fs32\insrsid6958183 \hich\af366\dbch\af31505\loch\f366 https://bench.cr.yp.to/call-encrypt.html}{\rtlch\fcs1 \af4\afs32 \ltrch\fcs0 \f4\fs32\insrsid6958183 \hich\af4\dbch\af31505\loch\f4 }{\rtlch\fcs1 \af4\afs24 \ltrch\fcs0 \f4\fs24\insrsid6958183 \hich\af4\dbch\af31505\loch\f4 for more information on Public-key Encryption API and performance testing.}{\rtlch\fcs1 \af4\afs24 \ltrch\fcs0 \f4\fs24\kerning1\insrsid6958183 \par }{\rtlch\fcs1 \af4\afs24 \ltrch\fcs0 \f4\fs24\insrsid6958183 \par \hich\af4\dbch\af31505\loch\f4 The first thing to do is to create a file called }{\rtlch\fcs1 \ai\af4\afs24 \ltrch\fcs0 \i\f4\fs24\insrsid6958183 \hich\af4\dbch\af31505\loch\f4 api.h}{\rtlch\fcs1 \af4\afs24 \ltrch\fcs0 \f4\fs24\insrsid6958183 \hich\af4\dbch\af31505\loch\f4 . This file contains the following four lines (with the sizes set to the appropriate \hich\af4\dbch\af31505\loch\f4 values): \par }\pard \ltrpar\ql \li0\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af5\afs26 \ltrch\fcs0 \f5\fs26\insrsid6958183 \hich\af5\dbch\af31505\loch\f5 #define CRYPTO_SECRETKEYBYTES 256 \par \hich\af5\dbch\af31505\loch\f5 #define CRYPTO_PUBLICKEYBYTES 64 \par \hich\af5\dbch\af31505\loch\f5 #define CRYPTO_BYTES 48 \par \hich\af5\dbch\af31505\loch\f5 #define CRYPTO_RANDOMBYTES 64 \par \par }{\rtlch\fcs1 \af4\afs24 \ltrch\fcs0 \f4\fs24\insrsid6958183 \hich\af4\dbch\af31505\loch\f4 indicating that your software uses a 256-byte (2048-bit) secret key, a 64-byte (512-bit) public key, }{\rtlch\fcs1 \ai\af4\afs24 \ltrch\fcs0 \i\f4\fs24\insrsid6958183 \hich\af4\dbch\af31505\loch\f4 at m\hich\af4\dbch\af31505\loch\f4 ost}{\rtlch\fcs1 \af4\afs24 \ltrch\fcs0 \f4\fs24\insrsid6958183 \hich\af4\dbch\af31505\loch\f4 48 bytes of overhead in a encrypted message compared to the original message, and 64 bytes of random input.}{\rtlch\fcs1 \af5\afs26 \ltrch\fcs0 \f5\fs26\insrsid6958183 \par }{\rtlch\fcs1 \af4\afs24 \ltrch\fcs0 \f4\fs24\kerning1\insrsid6958183 \par \hich\af4\dbch\af31505\loch\f4 Then create a file called }{\rtlch\fcs1 \ai\af4\afs24 \ltrch\fcs0 \i\f4\fs24\kerning1\insrsid6958183 \hich\af4\dbch\af31505\loch\f4 encrypt.c}{\rtlch\fcs1 \af4\afs24 \ltrch\fcs0 \f4\fs24\kerning1\insrsid6958183 \hich\af4\dbch\af31505\loch\f4 with the following function calls: \par \par }\pard \ltrpar\ql \li0\ri0\nowidctlpar\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af4\afs24 \ltrch\fcs0 \f4\fs24\kerning1\insrsid6958183 \tab \hich\af4\dbch\af31505\loch\f4 eBATS calls \par \tab \tab \hich\af4\dbch\af31505\loch\f4 Generates a keypair - }{\rtlch\fcs1 \ai\af4\afs24 \ltrch\fcs0 \i\f4\fs24\kerning1\insrsid6958183 \hich\af4\dbch\af31505\loch\f4 pk}{\rtlch\fcs1 \af4\afs24 \ltrch\fcs0 \f4\fs24\kerning1\insrsid6958183 \hich\af4\dbch\af31505\loch\f4 is the public key and }{\rtlch\fcs1 \ai\af4\afs24 \ltrch\fcs0 \i\f4\fs24\kerning1\insrsid6958183 \hich\af4\dbch\af31505\loch\f4 sk}{\rtlch\fcs1 \af4\afs24 \ltrch\fcs0 \f4\fs24\kerning1\insrsid6958183 \hich\af4\dbch\af31505\loch\f4 is the\hich\af4\dbch\af31505\loch\f4 secret key. \par \par }\pard \ltrpar\ql \li0\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af5\afs26 \ltrch\fcs0 \f5\fs26\insrsid6958183 \tab \tab \hich\af5\dbch\af31505\loch\f5 int crypto_encrypt_keypair( \par \tab \tab \tab \hich\af5\dbch\af31505\loch\f5 unsigned char *pk, \par \tab \tab \tab \hich\af5\dbch\af31505\loch\f5 unsigned char *sk \par \tab \tab \hich\af5\dbch\af31505\loch\f5 ) \par \par }{\rtlch\fcs1 \af4\afs24 \ltrch\fcs0 \f4\fs24\insrsid6958183 \tab \tab \hich\af4\dbch\af31505\loch\f4 Encrypt a plaintext: }{\rtlch\fcs1 \ai\af4\afs24 \ltrch\fcs0 \i\f4\fs24\insrsid6958183 \hich\af4\dbch\af31505\loch\f4 c}{\rtlch\fcs1 \af4\afs24 \ltrch\fcs0 \f4\fs24\insrsid6958183 \hich\af4\dbch\af31505\loch\f4 is the ciphertext, }{\rtlch\fcs1 \ai\af4\afs24 \ltrch\fcs0 \i\f4\fs24\insrsid6958183 \hich\af4\dbch\af31505\loch\f4 m}{\rtlch\fcs1 \af4\afs24 \ltrch\fcs0 \f4\fs24\insrsid6958183 \hich\af4\dbch\af31505\loch\f4 is the plaintext, and }{\rtlch\fcs1 \ai\af4\afs24 \ltrch\fcs0 \i\f4\fs24\insrsid6958183 \hich\af4\dbch\af31505\loch\f4 pk}{\rtlch\fcs1 \af4\afs24 \ltrch\fcs0 \f4\fs24\insrsid6958183 \hich\af4\dbch\af31505\loch\f4 is the public key.}{\rtlch\fcs1 \af5\afs26 \ltrch\fcs0 \f5\fs26\insrsid6958183 \par \par \tab \tab \hich\af5\dbch\af31505\loch\f5 int crypto_encrypt( \par \tab \tab \tab \hich\af5\dbch\af31505\loch\f5 unsigned char *c, unsigned long long *clen, \par \tab \tab \tab \hich\af5\dbch\af31505\loch\f5 const unsigned char *m, unsigned long long mlen, \par \tab \tab \tab \hich\af5\dbch\af31505\loch\f5 const unsigned char *pk \par \tab \tab \hich\af5\dbch\af31505\loch\f5 ) \par \par }{\rtlch\fcs1 \af4\afs24 \ltrch\fcs0 \f4\fs24\insrsid6958183 \tab \tab \hich\af4\dbch\af31505\loch\f4 Decrypt a ciphertext: }{\rtlch\fcs1 \ai\af4\afs24 \ltrch\fcs0 \i\f4\fs24\insrsid6958183 \hich\af4\dbch\af31505\loch\f4 m}{\rtlch\fcs1 \af4\afs24 \ltrch\fcs0 \f4\fs24\insrsid6958183 \hich\af4\dbch\af31505\loch\f4 is the plaintext, }{\rtlch\fcs1 \ai\af4\afs24 \ltrch\fcs0 \i\f4\fs24\insrsid6958183 \hich\af4\dbch\af31505\loch\f4 c}{\rtlch\fcs1 \af4\afs24 \ltrch\fcs0 \f4\fs24\insrsid6958183 \hich\af4\dbch\af31505\loch\f4 is the ciphertext, and }{\rtlch\fcs1 \ai\af4\afs24 \ltrch\fcs0 \i\f4\fs24\insrsid6958183 \hich\af4\dbch\af31505\loch\f4 sk}{\rtlch\fcs1 \af4\afs24 \ltrch\fcs0 \f4\fs24\insrsid6958183 \hich\af4\dbch\af31505\loch\f4 is the secret key.}{\rtlch\fcs1 \af5\afs26 \ltrch\fcs0 \f5\fs26\insrsid6958183 \par \par \tab \tab \hich\af5\dbch\af31505\loch\f5 int crypto_encrypt_open( \par \tab \tab \tab \hich\af5\dbch\af31505\loch\f5 unsigned char *m, unsigned long long *mlen, \par \tab \tab \tab \hich\af5\dbch\af31505\loch\f5 con\hich\af5\dbch\af31505\loch\f5 st unsigned char *c, unsigned long long clen, \par \tab \tab \tab \hich\af5\dbch\af31505\loch\f5 const unsigned char *sk \par \tab \tab \hich\af5\dbch\af31505\loch\f5 )}{\rtlch\fcs1 \af4\afs24 \ltrch\fcs0 \f4\fs24\kerning1\insrsid6958183 \par }\pard \ltrpar\ql \li0\ri0\nowidctlpar\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af4\afs24 \ltrch\fcs0 \f4\fs24\kerning1\insrsid6958183 \par \tab \hich\af4\dbch\af31505\loch\f4 KAT calls \par }\pard \ltrpar\ql \li0\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af5\afs26 \ltrch\fcs0 \f5\fs26\insrsid6958183 \tab \tab \hich\af5\dbch\af31505\loch\f5 int crypto_encrypt_keypair_KAT( \par \tab \tab \tab \hich\af5\dbch\af31505\loch\f5 unsigned char *pk, \par \tab \tab \tab \hich\af5\dbch\af31505\loch\f5 unsigned char *sk, \par \tab \tab \tab \hich\af5\dbch\af31505\loch\f5 const unsigned char *randomness \par \tab \tab \hich\af5\dbch\af31505\loch\f5 ) \par \par \tab \tab \hich\af5\dbch\af31505\loch\f5 int crypto_encrypt_KAT( \par \tab \tab \tab \hich\af5\dbch\af31505\loch\f5 unsigned char *c, unsigned long long *clen, \par \tab \tab \tab \hich\af5\dbch\af31505\loch\f5 const unsigned char *m, unsigned long long mlen, \par \tab \tab \tab \hich\af5\dbch\af31505\loch\f5 const unsigned char *pk, \par \tab \tab \tab \hich\af5\dbch\af31505\loch\f5 const unsigned char *randomness \par \tab \tab \hich\af5\dbch\af31505\loch\f5 ) \par }{\rtlch\fcs1 \af4\afs24 \ltrch\fcs0 \f4\fs24\kerning1\insrsid6958183 \par }\pard \ltrpar\ql \li0\ri0\nowidctlpar\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af4\afs24 \ltrch\fcs0 \f4\fs24\kerning1\insrsid6958183 \par \hich\af4\dbch\af31505\loch\f4 Key Encapsulation Mechanism (KEM) \par \hich\af4\dbch\af31505\loch\f4 The calls in the eBATS specification do not meet the c\hich\af4\dbch\af31505\loch\f4 alls specified in the call for algorithms. However, attempts were made to match the specifications for the other algorithms. \par }{\rtlch\fcs1 \af4\afs24 \ltrch\fcs0 \f4\fs24\insrsid6958183 \par \hich\af4\dbch\af31505\loch\f4 The first thing to do is to create a file called }{\rtlch\fcs1 \ai\af4\afs24 \ltrch\fcs0 \i\f4\fs24\insrsid6958183 \hich\af4\dbch\af31505\loch\f4 api.h}{\rtlch\fcs1 \af4\afs24 \ltrch\fcs0 \f4\fs24\insrsid6958183 \hich\af4\dbch\af31505\loch\f4 . This file contains the following four lines (with the sizes set to the ap\hich\af4\dbch\af31505\loch\f4 propriate values): \par }\pard \ltrpar\ql \li0\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af5\afs26 \ltrch\fcs0 \f5\fs26\insrsid6958183 \hich\af5\dbch\af31505\loch\f5 #define CRYPTO_SECRETKEYBYTES 192 \par \hich\af5\dbch\af31505\loch\f5 #define CRYPTO_PUBLICKEYBYTES 64 \par \hich\af5\dbch\af31505\loch\f5 #define CRYPTO_BYTES 64 \par \hich\af5\dbch\af31505\loch\f5 #define CRYPTO_RANDOMBYTES 64 \par \par }{\rtlch\fcs1 \af4\afs24 \ltrch\fcs0 \f4\fs24\insrsid6958183 \hich\af4\dbch\af31505\loch\f4 indicating that your software uses a 192-byte (1536-bit) secret key, a 64-byte (512-bit) public\hich\af4\dbch\af31505\loch\f4 key, a 64-byte (512-bit) shared secret, and 64 bytes of random input.}{\rtlch\fcs1 \af4\afs24 \ltrch\fcs0 \f4\fs24\kerning1\insrsid6958183 \par \par \hich\af4\dbch\af31505\loch\f4 Then create a file called }{\rtlch\fcs1 \ai\af4\afs24 \ltrch\fcs0 \i\f4\fs24\kerning1\insrsid6958183 \hich\af4\dbch\af31505\loch\f4 kem.c}{\rtlch\fcs1 \af4\afs24 \ltrch\fcs0 \f4\fs24\kerning1\insrsid6958183 \hich\af4\dbch\af31505\loch\f4 with the following function calls: \par \par }\pard \ltrpar\ql \li0\ri0\nowidctlpar\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af4\afs24 \ltrch\fcs0 \f4\fs24\kerning1\insrsid6958183 \tab \hich\af4\dbch\af31505\loch\f4 eBATS-like calls \par }\pard \ltrpar\ql \li0\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af5\afs26 \ltrch\fcs0 \f5\fs26\insrsid6958183 \par }{\rtlch\fcs1 \af4\afs24 \ltrch\fcs0 \f4\fs24\insrsid6958183 \tab \tab }{\rtlch\fcs1 \af4\afs24 \ltrch\fcs0 \f4\fs24\kerning1\insrsid6958183 \hich\af4\dbch\af31505\loch\f4 Generates a keypair - }{\rtlch\fcs1 \ai\af4\afs24 \ltrch\fcs0 \i\f4\fs24\kerning1\insrsid6958183 \hich\af4\dbch\af31505\loch\f4 pk}{\rtlch\fcs1 \af4\afs24 \ltrch\fcs0 \f4\fs24\kerning1\insrsid6958183 \hich\af4\dbch\af31505\loch\f4 is the public key and }{\rtlch\fcs1 \ai\af4\afs24 \ltrch\fcs0 \i\f4\fs24\kerning1\insrsid6958183 \hich\af4\dbch\af31505\loch\f4 sk}{\rtlch\fcs1 \af4\afs24 \ltrch\fcs0 \f4\fs24\kerning1\insrsid6958183 \hich\af4\dbch\af31505\loch\f4 is the secret key.}{\rtlch\fcs1 \af5\afs26 \ltrch\fcs0 \f5\fs26\insrsid6958183 \par \par \tab \tab \hich\af5\dbch\af31505\loch\f5 int crypto_kem_keygenerate( \par \tab \tab \tab \hich\af5\dbch\af31505\loch\f5 unsigned char *pk, \par \tab \tab \tab \hich\af5\dbch\af31505\loch\f5 unsigned char *sk \par \tab \tab \hich\af5\dbch\af31505\loch\f5 ) \par \par }{\rtlch\fcs1 \af4\afs24 \ltrch\fcs0 \f4\fs24\insrsid6958183 \tab \tab \hich\af4\dbch\af31505\loch\f4 Encapsulate }{\rtlch\fcs1 \ai\af4\afs24 \ltrch\fcs0 \i\f4\fs24\insrsid6958183 \hich\af4\dbch\af31505\loch\f4 - pk}{\rtlch\fcs1 \af4\afs24 \ltrch\fcs0 \f4\fs24\insrsid6958183 \hich\af4\dbch\af31505\loch\f4 is the public key, }{\rtlch\fcs1 \ai\af4\afs24 \ltrch\fcs0 \i\f4\fs24\insrsid6958183 \hich\af4\dbch\af31505\loch\f4 ct}{\rtlch\fcs1 \af4\afs24 \ltrch\fcs0 \f4\fs24\insrsid6958183 \hich\af4\dbch\af31505\loch\f4 is a key encapsulation message (ciphertext), }{\rtlch\fcs1 \ai\af4\afs24 \ltrch\fcs0 \i\f4\fs24\insrsid6958183 \hich\af4\dbch\af31505\loch\f4 ss}{\rtlch\fcs1 \af4\afs24 \ltrch\fcs0 \f4\fs24\insrsid6958183 \hich\af4\dbch\af31505\loch\f4 is the shared secret.}{\rtlch\fcs1 \af5\afs26 \ltrch\fcs0 \f5\fs26\insrsid6958183 \par \par \tab \tab \hich\af5\dbch\af31505\loch\f5 int crypto_kem_encapsulate( \par \tab \tab \tab \hich\af5\dbch\af31505\loch\f5 const unsigned char *pk, \par \tab \tab \tab \hich\af5\dbch\af31505\loch\f5 unsi\hich\af5\dbch\af31505\loch\f5 gned char *ct, \par \tab \tab \tab \hich\af5\dbch\af31505\loch\f5 unsigned char *ss \par \tab \tab \hich\af5\dbch\af31505\loch\f5 ) \par \par }{\rtlch\fcs1 \af4\afs24 \ltrch\fcs0 \f4\fs24\insrsid6958183 \tab \tab \hich\af4\dbch\af31505\loch\f4 Decapsulate - }{\rtlch\fcs1 \ai\af4\afs24 \ltrch\fcs0 \i\f4\fs24\insrsid6958183 \hich\af4\dbch\af31505\loch\f4 ct}{\rtlch\fcs1 \af4\afs24 \ltrch\fcs0 \f4\fs24\insrsid6958183 \hich\af4\dbch\af31505\loch\f4 is a key encapsulation message (ciphertext), }{\rtlch\fcs1 \ai\af4\afs24 \ltrch\fcs0 \i\f4\fs24\insrsid6958183 \hich\af4\dbch\af31505\loch\f4 sk}{\rtlch\fcs1 \af4\afs24 \ltrch\fcs0 \f4\fs24\insrsid6958183 \hich\af4\dbch\af31505\loch\f4 is the private key, }{\rtlch\fcs1 \ai\af4\afs24 \ltrch\fcs0 \i\f4\fs24\insrsid6958183 \hich\af4\dbch\af31505\loch\f4 ss}{\rtlch\fcs1 \af4\afs24 \ltrch\fcs0 \f4\fs24\insrsid6958183 \hich\af4\dbch\af31505\loch\f4 is the shared secret \par }{\rtlch\fcs1 \af5\afs26 \ltrch\fcs0 \f5\fs26\insrsid6958183 \par \tab \tab \hich\af5\dbch\af31505\loch\f5 int crypto_kem_decapsulate( \par \tab \tab \tab \hich\af5\dbch\af31505\loch\f5 const unsigned char *ct, \par \tab \tab \tab \hich\af5\dbch\af31505\loch\f5 const unsigned char *sk, \par \tab \tab \tab \hich\af5\dbch\af31505\loch\f5 unsigned char \hich\af5\dbch\af31505\loch\f5 *ss \par \tab \tab \hich\af5\dbch\af31505\loch\f5 ) \par \par }{\rtlch\fcs1 \af4\afs24 \ltrch\fcs0 \f4\fs24\kerning1\insrsid6958183 \par }\pard \ltrpar\ql \li0\ri0\nowidctlpar\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af4\afs24 \ltrch\fcs0 \f4\fs24\kerning1\insrsid6958183 \tab \hich\af4\dbch\af31505\loch\f4 KAT calls}{\rtlch\fcs1 \af5\afs26 \ltrch\fcs0 \f5\fs26\insrsid6958183 \par }\pard \ltrpar\ql \li0\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af5\afs26 \ltrch\fcs0 \f5\fs26\insrsid6958183 \tab \tab \hich\af5\dbch\af31505\loch\f5 int crypto_kem_keygenerate( \par \tab \tab \tab \hich\af5\dbch\af31505\loch\f5 unsigned char *pk, \par \tab \tab \tab \hich\af5\dbch\af31505\loch\f5 unsigned char *sk, \par \tab \tab \tab \hich\af5\dbch\af31505\loch\f5 const unsigned char *randomness \par \tab \tab \hich\af5\dbch\af31505\loch\f5 ) \par \par \tab \tab \hich\af5\dbch\af31505\loch\f5 int crypto_kem_encapsulate( \par \tab \tab \tab \hich\af5\dbch\af31505\loch\f5 const unsigned char *pk, \par \tab \tab \tab \hich\af5\dbch\af31505\loch\f5 unsigned char *ct, \par \tab \tab \tab \hich\af5\dbch\af31505\loch\f5 unsigned char *ss, \par \tab \tab \tab \hich\af5\dbch\af31505\loch\f5 const unsigned char *randomness \par \tab \tab \hich\af5\dbch\af31505\loch\f5 )}{\rtlch\fcs1 \af4\afs24 \ltrch\fcs0 \f4\fs24\insrsid6958183 \par }{\rtlch\fcs1 \af5\afs26 \ltrch\fcs0 \f5\fs26\insrsid6958183 \par \par }{\rtlch\fcs1 \af4\afs24 \ltrch\fcs0 \f4\fs24\kerning1\insrsid6958183 \par }{\*\themedata 504b030414000600080000002100e9de0fbfff0000001c020000130000005b436f6e74656e745f54797065735d2e786d6cac91cb4ec3301045f748fc83e52d4a 9cb2400825e982c78ec7a27cc0c8992416c9d8b2a755fbf74cd25442a820166c2cd933f79e3be372bd1f07b5c3989ca74aaff2422b24eb1b475da5df374fd9ad 5689811a183c61a50f98f4babebc2837878049899a52a57be670674cb23d8e90721f90a4d2fa3802cb35762680fd800ecd7551dc18eb899138e3c943d7e503b6 b01d583deee5f99824e290b4ba3f364eac4a430883b3c092d4eca8f946c916422ecab927f52ea42b89a1cd59c254f919b0e85e6535d135a8de20f20b8c12c3b0 0c895fcf6720192de6bf3b9e89ecdbd6596cbcdd8eb28e7c365ecc4ec1ff1460f53fe813d3cc7f5b7f020000ffff0300504b030414000600080000002100a5d6 a7e7c0000000360100000b0000005f72656c732f2e72656c73848fcf6ac3300c87ef85bd83d17d51d2c31825762fa590432fa37d00e1287f68221bdb1bebdb4f c7060abb0884a4eff7a93dfeae8bf9e194e720169aaa06c3e2433fcb68e1763dbf7f82c985a4a725085b787086a37bdbb55fbc50d1a33ccd311ba548b6309512 0f88d94fbc52ae4264d1c910d24a45db3462247fa791715fd71f989e19e0364cd3f51652d73760ae8fa8c9ffb3c330cc9e4fc17faf2ce545046e37944c69e462 a1a82fe353bd90a865aad41ed0b5b8f9d6fd010000ffff0300504b0304140006000800000021006b799616830000008a0000001c0000007468656d652f746865 6d652f7468656d654d616e616765722e786d6c0ccc4d0ac3201040e17da17790d93763bb284562b2cbaebbf600439c1a41c7a0d29fdbd7e5e38337cedf14d59b 4b0d592c9c070d8a65cd2e88b7f07c2ca71ba8da481cc52c6ce1c715e6e97818c9b48d13df49c873517d23d59085adb5dd20d6b52bd521ef2cdd5eb9246a3d8b 4757e8d3f729e245eb2b260a0238fd010000ffff0300504b030414000600080000002100ec7f4c3895070000c9200000160000007468656d652f7468656d652f 7468656d65312e786d6cec59cd8b1bc915bf07f23f347d97f5d5ad8fc1f2a24fcfda33b6b164873dd648a5eef2547789aad28cc56208de532e81c026e49085bd ed21842cecc22eb9e48f31d8249b3f22afaa5bdd5552c99e191c3061463074977eefd5afde7bf5de53d5ddcf5e26d4bbc05c1096f6fcfa9d9aefe174ce16248d 7afeb3d9a4d2f13d2151ba4094a5b8e76fb0f03fbbf7eb5fdd454732c609f6403e1547a8e7c752ae8eaa5531876124eeb0154ee1bb25e30992f0caa3ea82a34b d09bd06aa3566b55134452df4b51026a1f2f97648ebd9952e9dfdb2a1f53784da5500373caa74a35b6243476715e5708b11143cabd0b447b3eccb3609733fc52 fa1e4542c2173dbfa6fffceabdbb5574940b517940d6909be8bf5c2e17589c37f49c3c3a2b260d823068f50bfd1a40e53e6edc1eb7c6ad429f06a0f91c569a71 31758683ee6014e65803943d3a748fdaa366ddc21bfa9b7b9cfba1fa58780dcaf4077bf8c9640856b4f01a94e1c33d7c10b41bc3c0c26b50866fede1dbb5fe28 685b780d8a2949cff7d0b5b0d51c6e575b40968c1e3be1dd3098b41bb9f21205d15044979a62c9527928d612f482f1090014902249524f6e567889e610c54344 c91927de09896208bc154a9980e15aa336a935e1bffa04fa495b041d6164482b5ec044ec0d293e9e9873b2923dff0168f50dc8db9f7f7ef3fac737af7f7af3d5 576f5eff3d9f5babb2e48e511a9972bf7cf787ff7cf35befdf3f7cfbcbd77fcca6dec50b13ffee6fbf7bf78f7fbe4f3dacb834c5db3f7dffeec7efdffef9f7ff faebd70eed7d8ece4cf88c2458788ff0a5f79425b040077f7cc6af27318b113125fa6924508ad42c0efd63195be8471b44910337c0b61d9f7348352ee0fdf50b 8bf034e66b491c1a1fc689053c658c0e18775ae1a19acb30f36c9d46eec9f9dac43d45e8c235f710a59697c7eb15e458e252398cb145f30945a944114eb1f4d4 77ec1c63c7eabe20c4b2eb29997326d8527a5f106f8088d324337266455329744c12f0cbc64510fc6dd9e6f4b93760d4b5ea11beb091b0371075909f616a99f1 3e5a4b94b854ce50424d839f2019bb484e377c6ee2c64282a7234c99375e60215c328f39acd770fa4348336eb79fd24d6223b924e72e9d278831133962e7c318 252b17764ad2d8c47e2ece214491f7844917fc94d93b44bd831f507ad0ddcf09b6dcfde16cf00c32ac49a90c10f5cd9a3b7c791f332b7ea71bba44d8956afa3c b1526c9f1367740cd69115da271853748916187bcf3e773018b09565f392f48318b2ca317605d60364c7aa7a4fb1805e493537fb79f284082b64a7386207f89c 6e7612cf06a509e287343f02af9b361f43a94b5c01f098cecf4de023023d20c48bd3288f05e83082fba0d62731b20a987a17ee78dd70cb7f57d963b02f5f5834 aeb02f41065f5b0612bb29f35edbcc10b52628036686a0cb70a55b10b1dc5f8aa8e2aac5d64eb9a5bd694b37407764353d09493fd801edf43ee1ffaef7810ee3 ed5fbe71ec838fd3efb8155bc9ea9a9dcea16472bcd3df1cc2ed763543c617e4d36f6a46689d3ec15047f633d66d4f73dbd3f8fff73dcda1fd7cdbc91cea376e 3b191f3a8cdb4e263f5cf9389d4cd9bc405fa30e3cb2831e7dec931c3cf559124aa77243f189d0073f027ecf2c2630a8e4f489272e4e0157313caa32071358b8 88232de371267f43643c8dd10a4e87eabe5212895c7524bc15137068a4879dba159eae9353b6c80e3beb7575b09955568164395e0b8b7138a89219bad52e0ff0 0af59a6da40f5ab70494ec75481893d9249a0e12ededa032923ed605a33948e8957d14165d078b8e52bf75d51e0ba05678057e707bf033bde787018880109cc7 4173be507eca5cbdf5ae76e6c7f4f421635a11000df636024a4f7715d783cb53abcb42ed0a9eb64818e16693d096d10d9e88e167701e9d6af42a34aeebeb6ee9 528b9e32859e0f42aba4d1eebc8fc54d7d0d72bbb981a666a6a0a977d9f35bcd1042668e563d7f0987c6f098ac207684facd856804372f73c9b30d7f93ccb2e2 428e90883383eba49365838448cc3d4a929eaf965fb881a63a87686ef50624844f965c17d2caa7460e9c6e3b192f97782e4db71b23cad2d92b64f82c5738bfd5 e237072b49b606774fe3c5a57746d7fc2982100bdb7565c00511707750cfacb92070195624b232fe760a539e76cddb281d43d938a2ab18e515c54ce6195ca7f2 828e7e2b6c60bce56b06831a26c90be159a40aac6954ab9a165523e370b0ea7e584859ce489a65cdb4b28aaa9aee2c66cdb02d033bb6bc599137586d4d0c39cd acf059eade4db9dd6daedbe9138a2a01062fece7a8ba57280806b572328b9a62bc9f8655cece47eddab15de007a85da5481859bfb555bb63b7a24638a783c11b 557e90db8d5a185a6efb4a6d697d6b6e5e6cb3b317903c46d0e5aea914da9570b2cb11344453dd93646903b6c84b996f0d78f2d69cf4fc2f6b613f1836c261a5 d609c795a019d42a9db0dfacf4c3b0591f87f5da68d078058545c6493dcc6eec2770814137f9bdbd1edfbbbb4fb6773477e62ca9327d375fd5c4f5dd7dbd71f8 eede239074be6c3526dd6677d0aa749bfd4925180d3a95eeb035a88c5ac3f668321a869deee495ef5d6870d06f0e83d6b85369d587c34ad0aa29fa9d6ea51d34 1afda0ddef8c83feabbc8d819567e923b7059857f3baf75f000000ffff0300504b0304140006000800000021000dd1909fb60000001b01000027000000746865 6d652f7468656d652f5f72656c732f7468656d654d616e616765722e786d6c2e72656c73848f4d0ac2301484f78277086f6fd3ba109126dd88d0add40384e435 0d363f2451eced0dae2c082e8761be9969bb979dc9136332de3168aa1a083ae995719ac16db8ec8e4052164e89d93b64b060828e6f37ed1567914b284d262452 282e3198720e274a939cd08a54f980ae38a38f56e422a3a641c8bbd048f7757da0f19b017cc524bd62107bd5001996509affb3fd381a89672f1f165dfe514173 d9850528a2c6cce0239baa4c04ca5bbabac4df000000ffff0300504b01022d0014000600080000002100e9de0fbfff0000001c02000013000000000000000000 00000000000000005b436f6e74656e745f54797065735d2e786d6c504b01022d0014000600080000002100a5d6a7e7c0000000360100000b0000000000000000 0000000000300100005f72656c732f2e72656c73504b01022d00140006000800000021006b799616830000008a0000001c000000000000000000000000001902 00007468656d652f7468656d652f7468656d654d616e616765722e786d6c504b01022d0014000600080000002100ec7f4c3895070000c9200000160000000000 0000000000000000d60200007468656d652f7468656d652f7468656d65312e786d6c504b01022d00140006000800000021000dd1909fb60000001b0100002700 0000000000000000000000009f0a00007468656d652f7468656d652f5f72656c732f7468656d654d616e616765722e786d6c2e72656c73504b050600000000050005005d0100009a0b00000000} {\*\colorschememapping 3c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d225554462d3822207374616e64616c6f6e653d22796573223f3e0d0a3c613a636c724d 617020786d6c6e733a613d22687474703a2f2f736368656d61732e6f70656e786d6c666f726d6174732e6f72672f64726177696e676d6c2f323030362f6d6169 6e22206267313d226c743122207478313d22646b3122206267323d226c743222207478323d22646b322220616363656e74313d22616363656e74312220616363 656e74323d22616363656e74322220616363656e74333d22616363656e74332220616363656e74343d22616363656e74342220616363656e74353d22616363656e74352220616363656e74363d22616363656e74362220686c696e6b3d22686c696e6b2220666f6c486c696e6b3d22666f6c486c696e6b222f3e} {\*\latentstyles\lsdstimax372\lsdlockeddef0\lsdsemihiddendef0\lsdunhideuseddef0\lsdqformatdef0\lsdprioritydef99{\lsdlockedexcept \lsdqformat1 \lsdpriority0 \lsdlocked0 Normal;\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 1; \lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdpriority9 \lsdlocked0 heading 2;\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdpriority9 \lsdlocked0 heading 3;\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdpriority9 \lsdlocked0 heading 4; \lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdpriority9 \lsdlocked0 heading 5;\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdpriority9 \lsdlocked0 heading 6;\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdpriority9 \lsdlocked0 heading 7; \lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdpriority9 \lsdlocked0 heading 8;\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdpriority9 \lsdlocked0 heading 9;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 1; \lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 3;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 4;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 5; \lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 6;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 7;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 8;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 9; \lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 1;\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 2;\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 3; \lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 4;\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 5;\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 6; \lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 7;\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 8;\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 9;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Normal Indent; \lsdsemihidden1 \lsdunhideused1 \lsdlocked0 footnote text;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 annotation text;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 header;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 footer; \lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index heading;\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdpriority35 \lsdlocked0 caption;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 table of figures; \lsdsemihidden1 \lsdunhideused1 \lsdlocked0 envelope address;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 envelope return;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 footnote reference;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 annotation reference; \lsdsemihidden1 \lsdunhideused1 \lsdlocked0 line number;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 page number;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 endnote reference;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 endnote text; \lsdsemihidden1 \lsdunhideused1 \lsdlocked0 table of authorities;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 macro;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 toa heading;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List; \lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Bullet;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Number;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List 3; \lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List 4;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List 5;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Bullet 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Bullet 3; \lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Bullet 4;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Bullet 5;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Number 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Number 3; \lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Number 4;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Number 5;\lsdqformat1 \lsdpriority10 \lsdlocked0 Title;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Closing; \lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Signature;\lsdsemihidden1 \lsdunhideused1 \lsdpriority1 \lsdlocked0 Default Paragraph Font;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text Indent; \lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Continue;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Continue 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Continue 3;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Continue 4; \lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Continue 5;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Message Header;\lsdqformat1 \lsdpriority11 \lsdlocked0 Subtitle;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Salutation; \lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Date;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text First Indent;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text First Indent 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Note Heading; \lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text 3;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text Indent 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text Indent 3; \lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Block Text;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Hyperlink;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 FollowedHyperlink;\lsdqformat1 \lsdpriority22 \lsdlocked0 Strong; \lsdqformat1 \lsdpriority20 \lsdlocked0 Emphasis;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Document Map;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Plain Text;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 E-mail Signature; \lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Top of Form;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Bottom of Form;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Normal (Web);\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Acronym; \lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Address;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Cite;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Code;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Definition; \lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Keyboard;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Preformatted;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Sample;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Typewriter; \lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Variable;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Normal Table;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 annotation subject;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 No List; \lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Outline List 1;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Outline List 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Outline List 3;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Simple 1; \lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Simple 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Simple 3;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Classic 1;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Classic 2; \lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Classic 3;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Classic 4;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Colorful 1;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Colorful 2; \lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Colorful 3;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Columns 1;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Columns 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Columns 3; \lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Columns 4;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Columns 5;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Grid 1;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Grid 2; \lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Grid 3;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Grid 4;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Grid 5;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Grid 6; \lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Grid 7;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Grid 8;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table List 1;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table List 2; \lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table List 3;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table List 4;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table List 5;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table List 6; \lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table List 7;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table List 8;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table 3D effects 1;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table 3D effects 2; \lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table 3D effects 3;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Contemporary;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Elegant;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Professional; \lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Subtle 1;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Subtle 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Web 1;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Web 2; \lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Web 3;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Balloon Text;\lsdpriority39 \lsdlocked0 Table Grid;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Theme;\lsdsemihidden1 \lsdlocked0 Placeholder Text; \lsdqformat1 \lsdpriority1 \lsdlocked0 No Spacing;\lsdpriority60 \lsdlocked0 Light Shading;\lsdpriority61 \lsdlocked0 Light List;\lsdpriority62 \lsdlocked0 Light Grid;\lsdpriority63 \lsdlocked0 Medium Shading 1;\lsdpriority64 \lsdlocked0 Medium Shading 2; \lsdpriority65 \lsdlocked0 Medium List 1;\lsdpriority66 \lsdlocked0 Medium List 2;\lsdpriority67 \lsdlocked0 Medium Grid 1;\lsdpriority68 \lsdlocked0 Medium Grid 2;\lsdpriority69 \lsdlocked0 Medium Grid 3;\lsdpriority70 \lsdlocked0 Dark List; \lsdpriority71 \lsdlocked0 Colorful Shading;\lsdpriority72 \lsdlocked0 Colorful List;\lsdpriority73 \lsdlocked0 Colorful Grid;\lsdpriority60 \lsdlocked0 Light Shading Accent 1;\lsdpriority61 \lsdlocked0 Light List Accent 1; \lsdpriority62 \lsdlocked0 Light Grid Accent 1;\lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 1;\lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 1;\lsdpriority65 \lsdlocked0 Medium List 1 Accent 1;\lsdsemihidden1 \lsdlocked0 Revision; \lsdqformat1 \lsdpriority34 \lsdlocked0 List Paragraph;\lsdqformat1 \lsdpriority29 \lsdlocked0 Quote;\lsdqformat1 \lsdpriority30 \lsdlocked0 Intense Quote;\lsdpriority66 \lsdlocked0 Medium List 2 Accent 1;\lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 1; \lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 1;\lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 1;\lsdpriority70 \lsdlocked0 Dark List Accent 1;\lsdpriority71 \lsdlocked0 Colorful Shading Accent 1;\lsdpriority72 \lsdlocked0 Colorful List Accent 1; \lsdpriority73 \lsdlocked0 Colorful Grid Accent 1;\lsdpriority60 \lsdlocked0 Light Shading Accent 2;\lsdpriority61 \lsdlocked0 Light List Accent 2;\lsdpriority62 \lsdlocked0 Light Grid Accent 2;\lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 2; \lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 2;\lsdpriority65 \lsdlocked0 Medium List 1 Accent 2;\lsdpriority66 \lsdlocked0 Medium List 2 Accent 2;\lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 2;\lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 2; \lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 2;\lsdpriority70 \lsdlocked0 Dark List Accent 2;\lsdpriority71 \lsdlocked0 Colorful Shading Accent 2;\lsdpriority72 \lsdlocked0 Colorful List Accent 2;\lsdpriority73 \lsdlocked0 Colorful Grid Accent 2; \lsdpriority60 \lsdlocked0 Light Shading Accent 3;\lsdpriority61 \lsdlocked0 Light List Accent 3;\lsdpriority62 \lsdlocked0 Light Grid Accent 3;\lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 3;\lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 3; \lsdpriority65 \lsdlocked0 Medium List 1 Accent 3;\lsdpriority66 \lsdlocked0 Medium List 2 Accent 3;\lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 3;\lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 3;\lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 3; \lsdpriority70 \lsdlocked0 Dark List Accent 3;\lsdpriority71 \lsdlocked0 Colorful Shading Accent 3;\lsdpriority72 \lsdlocked0 Colorful List Accent 3;\lsdpriority73 \lsdlocked0 Colorful Grid Accent 3;\lsdpriority60 \lsdlocked0 Light Shading Accent 4; \lsdpriority61 \lsdlocked0 Light List Accent 4;\lsdpriority62 \lsdlocked0 Light Grid Accent 4;\lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 4;\lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 4;\lsdpriority65 \lsdlocked0 Medium List 1 Accent 4; \lsdpriority66 \lsdlocked0 Medium List 2 Accent 4;\lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 4;\lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 4;\lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 4;\lsdpriority70 \lsdlocked0 Dark List Accent 4; \lsdpriority71 \lsdlocked0 Colorful Shading Accent 4;\lsdpriority72 \lsdlocked0 Colorful List Accent 4;\lsdpriority73 \lsdlocked0 Colorful Grid Accent 4;\lsdpriority60 \lsdlocked0 Light Shading Accent 5;\lsdpriority61 \lsdlocked0 Light List Accent 5; \lsdpriority62 \lsdlocked0 Light Grid Accent 5;\lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 5;\lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 5;\lsdpriority65 \lsdlocked0 Medium List 1 Accent 5;\lsdpriority66 \lsdlocked0 Medium List 2 Accent 5; \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 5;\lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 5;\lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 5;\lsdpriority70 \lsdlocked0 Dark List Accent 5;\lsdpriority71 \lsdlocked0 Colorful Shading Accent 5; \lsdpriority72 \lsdlocked0 Colorful List Accent 5;\lsdpriority73 \lsdlocked0 Colorful Grid Accent 5;\lsdpriority60 \lsdlocked0 Light Shading Accent 6;\lsdpriority61 \lsdlocked0 Light List Accent 6;\lsdpriority62 \lsdlocked0 Light Grid Accent 6; \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 6;\lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 6;\lsdpriority65 \lsdlocked0 Medium List 1 Accent 6;\lsdpriority66 \lsdlocked0 Medium List 2 Accent 6; \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 6;\lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 6;\lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 6;\lsdpriority70 \lsdlocked0 Dark List Accent 6;\lsdpriority71 \lsdlocked0 Colorful Shading Accent 6; \lsdpriority72 \lsdlocked0 Colorful List Accent 6;\lsdpriority73 \lsdlocked0 Colorful Grid Accent 6;\lsdqformat1 \lsdpriority19 \lsdlocked0 Subtle Emphasis;\lsdqformat1 \lsdpriority21 \lsdlocked0 Intense Emphasis; \lsdqformat1 \lsdpriority31 \lsdlocked0 Subtle Reference;\lsdqformat1 \lsdpriority32 \lsdlocked0 Intense Reference;\lsdqformat1 \lsdpriority33 \lsdlocked0 Book Title;\lsdsemihidden1 \lsdunhideused1 \lsdpriority37 \lsdlocked0 Bibliography; \lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdpriority39 \lsdlocked0 TOC Heading;\lsdpriority41 \lsdlocked0 Plain Table 1;\lsdpriority42 \lsdlocked0 Plain Table 2;\lsdpriority43 \lsdlocked0 Plain Table 3;\lsdpriority44 \lsdlocked0 Plain Table 4; \lsdpriority45 \lsdlocked0 Plain Table 5;\lsdpriority40 \lsdlocked0 Grid Table Light;\lsdpriority46 \lsdlocked0 Grid Table 1 Light;\lsdpriority47 \lsdlocked0 Grid Table 2;\lsdpriority48 \lsdlocked0 Grid Table 3;\lsdpriority49 \lsdlocked0 Grid Table 4; \lsdpriority50 \lsdlocked0 Grid Table 5 Dark;\lsdpriority51 \lsdlocked0 Grid Table 6 Colorful;\lsdpriority52 \lsdlocked0 Grid Table 7 Colorful;\lsdpriority46 \lsdlocked0 Grid Table 1 Light Accent 1;\lsdpriority47 \lsdlocked0 Grid Table 2 Accent 1; \lsdpriority48 \lsdlocked0 Grid Table 3 Accent 1;\lsdpriority49 \lsdlocked0 Grid Table 4 Accent 1;\lsdpriority50 \lsdlocked0 Grid Table 5 Dark Accent 1;\lsdpriority51 \lsdlocked0 Grid Table 6 Colorful Accent 1; \lsdpriority52 \lsdlocked0 Grid Table 7 Colorful Accent 1;\lsdpriority46 \lsdlocked0 Grid Table 1 Light Accent 2;\lsdpriority47 \lsdlocked0 Grid Table 2 Accent 2;\lsdpriority48 \lsdlocked0 Grid Table 3 Accent 2; \lsdpriority49 \lsdlocked0 Grid Table 4 Accent 2;\lsdpriority50 \lsdlocked0 Grid Table 5 Dark Accent 2;\lsdpriority51 \lsdlocked0 Grid Table 6 Colorful Accent 2;\lsdpriority52 \lsdlocked0 Grid Table 7 Colorful Accent 2; \lsdpriority46 \lsdlocked0 Grid Table 1 Light Accent 3;\lsdpriority47 \lsdlocked0 Grid Table 2 Accent 3;\lsdpriority48 \lsdlocked0 Grid Table 3 Accent 3;\lsdpriority49 \lsdlocked0 Grid Table 4 Accent 3; \lsdpriority50 \lsdlocked0 Grid Table 5 Dark Accent 3;\lsdpriority51 \lsdlocked0 Grid Table 6 Colorful Accent 3;\lsdpriority52 \lsdlocked0 Grid Table 7 Colorful Accent 3;\lsdpriority46 \lsdlocked0 Grid Table 1 Light Accent 4; \lsdpriority47 \lsdlocked0 Grid Table 2 Accent 4;\lsdpriority48 \lsdlocked0 Grid Table 3 Accent 4;\lsdpriority49 \lsdlocked0 Grid Table 4 Accent 4;\lsdpriority50 \lsdlocked0 Grid Table 5 Dark Accent 4; \lsdpriority51 \lsdlocked0 Grid Table 6 Colorful Accent 4;\lsdpriority52 \lsdlocked0 Grid Table 7 Colorful Accent 4;\lsdpriority46 \lsdlocked0 Grid Table 1 Light Accent 5;\lsdpriority47 \lsdlocked0 Grid Table 2 Accent 5; \lsdpriority48 \lsdlocked0 Grid Table 3 Accent 5;\lsdpriority49 \lsdlocked0 Grid Table 4 Accent 5;\lsdpriority50 \lsdlocked0 Grid Table 5 Dark Accent 5;\lsdpriority51 \lsdlocked0 Grid Table 6 Colorful Accent 5; \lsdpriority52 \lsdlocked0 Grid Table 7 Colorful Accent 5;\lsdpriority46 \lsdlocked0 Grid Table 1 Light Accent 6;\lsdpriority47 \lsdlocked0 Grid Table 2 Accent 6;\lsdpriority48 \lsdlocked0 Grid Table 3 Accent 6; \lsdpriority49 \lsdlocked0 Grid Table 4 Accent 6;\lsdpriority50 \lsdlocked0 Grid Table 5 Dark Accent 6;\lsdpriority51 \lsdlocked0 Grid Table 6 Colorful Accent 6;\lsdpriority52 \lsdlocked0 Grid Table 7 Colorful Accent 6; \lsdpriority46 \lsdlocked0 List Table 1 Light;\lsdpriority47 \lsdlocked0 List Table 2;\lsdpriority48 \lsdlocked0 List Table 3;\lsdpriority49 \lsdlocked0 List Table 4;\lsdpriority50 \lsdlocked0 List Table 5 Dark; \lsdpriority51 \lsdlocked0 List Table 6 Colorful;\lsdpriority52 \lsdlocked0 List Table 7 Colorful;\lsdpriority46 \lsdlocked0 List Table 1 Light Accent 1;\lsdpriority47 \lsdlocked0 List Table 2 Accent 1;\lsdpriority48 \lsdlocked0 List Table 3 Accent 1; \lsdpriority49 \lsdlocked0 List Table 4 Accent 1;\lsdpriority50 \lsdlocked0 List Table 5 Dark Accent 1;\lsdpriority51 \lsdlocked0 List Table 6 Colorful Accent 1;\lsdpriority52 \lsdlocked0 List Table 7 Colorful Accent 1; \lsdpriority46 \lsdlocked0 List Table 1 Light Accent 2;\lsdpriority47 \lsdlocked0 List Table 2 Accent 2;\lsdpriority48 \lsdlocked0 List Table 3 Accent 2;\lsdpriority49 \lsdlocked0 List Table 4 Accent 2; \lsdpriority50 \lsdlocked0 List Table 5 Dark Accent 2;\lsdpriority51 \lsdlocked0 List Table 6 Colorful Accent 2;\lsdpriority52 \lsdlocked0 List Table 7 Colorful Accent 2;\lsdpriority46 \lsdlocked0 List Table 1 Light Accent 3; \lsdpriority47 \lsdlocked0 List Table 2 Accent 3;\lsdpriority48 \lsdlocked0 List Table 3 Accent 3;\lsdpriority49 \lsdlocked0 List Table 4 Accent 3;\lsdpriority50 \lsdlocked0 List Table 5 Dark Accent 3; \lsdpriority51 \lsdlocked0 List Table 6 Colorful Accent 3;\lsdpriority52 \lsdlocked0 List Table 7 Colorful Accent 3;\lsdpriority46 \lsdlocked0 List Table 1 Light Accent 4;\lsdpriority47 \lsdlocked0 List Table 2 Accent 4; \lsdpriority48 \lsdlocked0 List Table 3 Accent 4;\lsdpriority49 \lsdlocked0 List Table 4 Accent 4;\lsdpriority50 \lsdlocked0 List Table 5 Dark Accent 4;\lsdpriority51 \lsdlocked0 List Table 6 Colorful Accent 4; \lsdpriority52 \lsdlocked0 List Table 7 Colorful Accent 4;\lsdpriority46 \lsdlocked0 List Table 1 Light Accent 5;\lsdpriority47 \lsdlocked0 List Table 2 Accent 5;\lsdpriority48 \lsdlocked0 List Table 3 Accent 5; \lsdpriority49 \lsdlocked0 List Table 4 Accent 5;\lsdpriority50 \lsdlocked0 List Table 5 Dark Accent 5;\lsdpriority51 \lsdlocked0 List Table 6 Colorful Accent 5;\lsdpriority52 \lsdlocked0 List Table 7 Colorful Accent 5; \lsdpriority46 \lsdlocked0 List Table 1 Light Accent 6;\lsdpriority47 \lsdlocked0 List Table 2 Accent 6;\lsdpriority48 \lsdlocked0 List Table 3 Accent 6;\lsdpriority49 \lsdlocked0 List Table 4 Accent 6; \lsdpriority50 \lsdlocked0 List Table 5 Dark Accent 6;\lsdpriority51 \lsdlocked0 List Table 6 Colorful Accent 6;\lsdpriority52 \lsdlocked0 List Table 7 Colorful Accent 6;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Mention;}}{\*\datastore 0105000002000000 180000004d73786d6c322e534158584d4c5265616465722e362e3000000000000000000000060000 d0cf11e0a1b11ae1000000000000000000000000000000003e000300feff090006000000000000000000000001000000010000000000000000100000feffffff00000000feffffff0000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffffdfffffffeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffff52006f006f007400200045006e00740072007900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000500ffffffffffffffffffffffff0c6ad98892f1d411a65f0040963251e50000000000000000000000001003 cceb6429d201feffffff00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff00000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000105000000000000}}